<?php
/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
class Controller extends CController
{
	/**
	 * @var string the default layout for the controller view. Defaults to '//layouts/column1',
	 * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
	 */
	public $layout='//layouts/column1';
	/**
	 * @var array context menu items. This property will be assigned to {@link CMenu::items}.
	 */
	public $menu=array();
	/**
	 * @var array the breadcrumbs of the current page. The value of this property will
	 * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
	 * for more details on how to specify this property.
	 */
	public $breadcrumbs=array();
	
	/**
	 * @var string Highlight for siagn
	 */
	public $highlight;
	
	/**
	 * @var string channel
	 */
	public $channel;
	/**
	 * 必须验证通过后才能登陆
	 * @see CController::beforeAction()
	 */
	public function beforeAction($action){
		$loginRoute = Yii::app()->user->loginUrl;
		if(empty($loginRoute))
			throw  new CException('500','未配置loginUrl');
		if(Yii::app()->user->isGuest && $this->route !== $loginRoute[0]){
				Yii::app()->user->loginRequired();
		}
		
		return parent::beforeAction($action);
	}
	
	/**
	 *
	 * @param intenger $id
	 * @param string $type
	 */
	public function loadModel($id,$type)
	{
		$model = $type::model()->findByPk($id);
		if($model)
			return $model;
		else
			throw new CException('500');
	}
}